纷享Markdown 官方教程内联(Inline)语法(二) 2017-04-01
内联元素
内联元素指的是与行内元素,与块状元素相对应。主要包括链接,代码,强调,图片等元素。块状元素的 Markdown 语法可以参考上一篇
链接
Markdown 支持两种风格的链接: 行内链接 和 引用链接。
两种风格的链接均用中括号扩起来 [ ]。
行内链接由两部分组成,方括号[ ]括起来的链接描述,以及紧跟方括号的链接地址,地址由括弧( )包围。括弧内可以选择为该链接添加标题。例如:
This is [an example](http://example.com/ "Title") inline link.
[This link](http://example.net/) has no title attribute.
如果想要链接到当前服务器的页面,链接地址可以是相对地址:
See my [About](/about/) page for details.
引用类型的链接采用两对方括号进行表示,其中第一个方括号内容为链接的描述信息,第二个内容为链接的ID:
This is [an example][id] reference-style link.
然后,你需要做的是在文档的任何位置,定义 ID 所对应的链接:
[id]: http://example.com/ "Optional Title Here"
规则说明:
- ID 由方括号包围 ,距离左边距不超过 3 个空格
- 一个冒号
- 一个或多个空格
- 链接地址
- 链接标题—可以由单引号,双引号或者括号包围起来
以下三种表达方式是等价的:
[foo]: http://example.com/ "Optional Title Here"
[foo]: http://example.com/ 'Optional Title Here'
[foo]: http://example.com/ (Optional Title Here)
注意: 链接名称可以由字母,数字,空格等组成,但是链接是大小写不敏感的,即链接大小写是一样的:
[link text][a]
[link text][A]
是一样的。
关于链接也可以简写如下:
[Google][]
然后链接的定义如下:
[Google]: http://google.com/
下面是一个使用的示范:
I get 10 times more traffic from [Google] [1] than from
[Yahoo] [2] or [MSN] [3].
[1]: http://google.com/ "Google"
[2]: http://search.yahoo.com/ "Yahoo Search"
[3]: http://search.msn.com/ "MSN Search"
简写的方式如下:
I get 10 times more traffic from [Google][] than from
[Yahoo][] or [MSN][].
[google]: http://google.com/ "Google"
[yahoo]: http://search.yahoo.com/ "Yahoo Search"
[msn]: http://search.msn.com/ "MSN Search"
为了对比写法上的区别,将行内链接的写法也贴出来:
I get 10 times more traffic from [Google](http://google.com/ "Google")
than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or
[MSN](http://search.msn.com/ "MSN Search").
由此可以看出来,引用链接的方式看起来更加利于编写和阅读。
强调
Markdown 使用 (*) 和 (_) 来标记强调的字符。单个 * 或 _ 最终被转化为
HTML <em> 标签;两个 * 或 _最终被转化为 HTML<strong> 标签:
*single asterisks*
_single underscores_
**double asterisks**
__double underscores__
将会转化为:
<em>single asterisks</em>
<em>single underscores</em>
<strong>double asterisks</strong>
<strong>double underscores</strong>
注意: * 和 _ 两侧不能有空格,否则会被当作单独字符处理。如果想要单独输出以上两个字符,则需要在字符前加 \ 做转义。
代码
我们可以使用两个 (` ) 来包围表示一段代码:
Use the `printf()` function.
将会转化为:
<p>Use the <code>printf()</code> function.</p>
在代码块中使用 `,必需在代码块起始和末尾加入多个`:
``There is a literal backtick (`) here.``
在代码块内部,符合和尖括号会被自动转义为 HTML 实体:
Please don't use any `<blink>` tags.
会被转化为:
<p>Please don't use any <code><blink></code> tags.</p>
图片
Markdown 中的图片语法与链接类似,也分为行内图片和引用两种。
行内图片语法如下:


规则如下:
- 语法说明字符
!开头 - 一对方括号,包含图片的
alt属性 - 一对括弧包含图片的地址,还可选择性的加上图片的标题
title
引用型的图片语法如下:
![Alt text][id]
id 是图片的引用地址,其定义的语法与链接完全一致:
[id]: url/to/image "Optional title attribute"
该表示方法没有设置图片大小的语法,如果想要设置,则可以直接食用 HTML <img> 标签。
其他
自动链接
Markdown 支持为 URL 和 email 自动生成链接。你需要做的就是用尖括号把地址括起来:
<http://example.com/>
Markdown 会将上面的句子转化为:
<a href="http://example.com/">http://example.com/</a>
email的自动链接与 URL 基本一致,不同的地方在于为了防止 email 地址被 spambots 处理,故进行了转义:
<address@example.com>
会被 Markdown 解析为:
<a href="mailto:addre
ss@example.co
m">address@exa
mple.com</a>
在浏览器中可以被转化为可以点击的 email 地址 “address@example.com”
转义
Markdown 语法可以使用反斜线 \ 来表示字符本身。如果想要在文字中展示 * ,则需要在 * 前加上反斜线:
\*literal asterisks\*
Markdown 支持用反斜线的字符:
\ 反斜线
` 点号
* 星号
_ 下划线
{} 大括号
[] 方括号
() 小括弧
# 井号
+ 加号
- 减号
. 英文句号
! 感叹号